package exercises.leetcode;

/**
 * <a href="https://leetcode-cn.com/problems/number-of-segments-in-a-string/">
 * 434. 字符串中的单词数</a>
 *
 * <p><span color="#87CEEB">描述:</span>
 * 统计字符串中的单词个数，这里的单词指的是连续的不是空格的字符。
 * <p>
 * 请注意，你可以假定字符串里不包括任何不可打印的字符。
 * <p>
 * 示例:
 * <p>
 * 输入: "Hello, my name is John"
 * <p>
 * 输出: 5
 * <p>
 * 解释: 这里的单词是指连续的不是空格的字符，所以 "Hello," 算作 1 个单词。
 *
 * @author or2
 * @date 2021年10月07日 时间: 7:57
 */
public class No434 {
    public int countSegments(String s) {
        int amount = 0;
        for (int i = 0, length = s.length(); i < length; i++)
            if (s.charAt(i) != ' ') {
                amount++;
                while (++i < length && s.charAt(i) != ' ') ;
            }

        return amount;
    }

    public int minimal(String s) {
        if (s.isEmpty())
            return 0;
        return s.split("(?<=\\S)\\s+").length;
    }
}
